    /** 
     * js实现的map 
     */  
      
    // 定义map  
    function Map() {  
        this.container = {};  
    }  
      
    // 将key-value放入map中  
    Map.prototype.put = function(key, value) {  
        try {  
      
            if (key != null && key != "")  
                this.container[key] = value;  
      
        } catch (e) {  
            return e;  
        }  
    };  
      
    // 根据key从map中取出对应的value  
    Map.prototype.get = function(key) {  
        try {  
      
            return this.container[key];  
      
        } catch (e) {  
            return e;  
        }  
    };  
      
    // 判断map中是否包含指定的key  
    Map.prototype.containsKey = function(key) {  
      
        try {  
            for (var p in this.container) {  
                if (p == key)  
                    return true;  
            }  
      
            return false;  
      
        } catch (e) {  
            return e;  
        }  
      
    }  
      
    // 判断map中是否包含指定的value  
    Map.prototype.containsValue = function(value) {  
        try {  
      
            for (var p in this.container) {  
                if (this.container[p] === value)  
                    return true;  
            }  
      
            return false;  
      
        } catch (e) {  
            return e;  
        }  
    };  
      
    // 删除map中指定的key  
    Map.prototype.remove = function(key) {  
        try {  
      
            delete this.container[key];  
      
        } catch (e) {  
            return e;  
        }  
    };  
      
    // 清空map  
    Map.prototype.clear = function() {  
        try {  
            delete this.container;  
            this.container = {};  
      
        } catch (e) {  
            return e;  
        }  
    };  
      
    // 判断map是否为空  
    Map.prototype.isEmpty = function() {  
      
        if (this.keyArray().length == 0)  
            return true;  
        else  
            return false;  
    };  
      
    // 获取map的大小  
    Map.prototype.size = function() {  
      
        return this.keyArray().length;  
    }  
      
    // 返回map中的key值数组  
    Map.prototype.keyArray = function() {  
      
        var keys = new Array();  
        for (var p in this.container) {  
            keys.push(p);  
        }  
      
        return keys;  
    }  
      
    // 返回map中的value值数组  
    Map.prototype.valueArray = function() {  
      
        var values = new Array();  
        var keys = this.keyArray();  
        for (var i = 0; i < keys.length; i++) {  
            values.push(this.container[keys[i]]);  
        }  
      
        return values;  
    }  